Online ordering system and method for keyed device

ABSTRACT

An online lockable device ordering system and method for lockable devices such as padlocks including a key matching module configured for user entry of at least one key identifier configured to unlock certain lockable devices. The key matching module matches the key identifier with a range of stored key identifiers stored in a storage device. Images of lockable devices corresponding to the matched range are displayed on a user display screen, and the user can select a lockable device from the displayed images. The selected lockable device is customized to open with the user&#39;s existing key.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 15/610,103, filed on May 31, 2017, which is a continuation ofU.S. patent application Ser. No. 13/950,157, filed on Jul. 24, 2013,which is a divisional of U.S. patent application Ser. No. 12/427,621,filed on Apr. 21, 2009, which claims priority to U.S. Provisional PatentApp. No. 61/047,168 filed on Apr. 23, 2008—the entireties of all ofwhich are hereby incorporated herein by reference as if set forth infull.

BACKGROUND Field of the Invention

The present invention relates generally to online ordering systems andmethods, and is particularly concerned with an online ordering systemand method for keyed and combination lock devices such as padlocks, aswell as other lock-related devices.

Related Art

Currently, there is no easy to use system for ordering custom madepadlocks or other keyed or combination devices online. A customertypically has to wade through numerous website pages with many differentchoices and cannot easily obtain a listing of various padlocks withcertain features in common. Another problem is that there is no easy wayto order additional padlocks to be opened with the same key aspreviously purchased. Currently, users or customers are only able topurchase finished locks and finished padlocks on the internet.

These problems also apply to online ordering of many other products,including other keyed devices, such as keyed locking cables for bicyclesor the like, and locks to be built into doors, safes, vending machinesor the like. Customers may want to keep the same keys when updatinglocks or purchasing new safes, for example, and up to now there has beenno easy method or system for ordering such devices without needing lockswith new sets of keys.

SUMMARY

Embodiments described herein provide for a method and system for onlineordering of user customized products such as padlocks, lockable devicesor lock devices, boxes or packaging material, promotional items, or thelike.

According to one embodiment, an online lockable device ordering methodis provided, which allows a user to match a lock to the number oridentifier on a key they already own, so that they can use the same keyto open different locks, for example padlocks on various differentlockers or other articles, rather than having to carry around a largenumber of different keys. In one embodiment, the method comprisesstoring information in a database comprising a list of padlock bodies ormodels and associated key number ranges or key identifier ranges of keyswhich may be used to open each padlock body in the list, receiving a keynumber or key identifier entered by a user, searching the list in thedata base to match the entered key identifier with each padlock bodywhich can be opened by keys in a number or key identifier rangeincluding the entered key number, displaying images of each padlockwhich can be opened by a key having the entered key identifier, andallowing the user to select and order one or more padlocks from thedisplayed images which can be opened by their existing key. This methodmay be used for many brands of padlocks and other items.

This method allows customers to order locks online to be opened by aspecific key, rather than having to go to a lock store, lock expert, orthe like for this purpose.

According to one embodiment, the method further comprises displaying afirst set of customizing options for a keyway matching lockable deviceselected from the displayed images, receiving user input of a selectedcustomizing option, and displaying a customized lockable device imageincluding the customized option on a display screen, and allowing theuser to order the customized lockable device. More than two options maybe available to be customized, depending on the matched lockable device.

In one embodiment, the ordering method is used for ordering customizedpadlocks, and the options which may be customized by a user for variouspadlock bodies are shackle length and style, shackle material, bumpercolor, and a custom body plate with desired text or a logo as selectedby the user. Other variables which may be customized are body size, keynumber or keyway cuts, and cylinder types.

Other features and advantages of the present invention will become morereadily apparent to those of ordinary skill in the art after reviewingthe following detailed description and accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The details of the present invention, both as to its structure andoperation, may be gleaned in part by study of the accompanying drawings,in which like reference numerals refer to like parts, and in which:

FIG. 1A is a block diagram of one embodiment of an online orderingsystem for keyed devices;

FIGS. 1B and 1C are block diagrams illustrating aspects of the onlineordering system which can be carried out by the server and the userdevice of FIG. 1.

FIGS. 2A and 2B are flow diagrams illustrating an embodiment of apadlock ordering method using the system of FIG. 1 to order a customizedlock, as also illustrated in the screen shots of FIGS. 5 to 13;

FIGS. 3A and 3B are flow diagrams illustrating steps of an embodiment ofa keyway matching method for ordering locks which can be opened by aparticular key number, as also illustrated in the screen shots of FIGS.15 to 19;

FIG. 4 is a flow diagram illustrating more details of part of the keywaymatching method of FIG. 3A;

FIGS. 5A and 5B are screen shots illustrating a customized user inputpage in the system of FIGS. 1 to 3;

FIGS. 6A, 6B and 6C are screen shots illustrating one example of a lockbody display after a user has selected a lock type in the input page ofFIGS. 5A and 5B;

FIGS. 7A and 7B are screen shots illustrating a keying option selectionscreen;

FIGS. 8A and 8B are screen shots illustrating a selected lock displayedto the user with options for selecting different shackle lengths;

FIGS. 9A and 9B are screen shots illustrating display of part of theselected lock along with the selected shackle and with bumper selectionoptions;

FIGS. 10A, 10B, 10C and 10D are screen shots illustrating display of thecustomized lock with the selected shackle and bumper, and an option forselecting a custom body plate;

FIGS. 11A, 11B and 11C are screen shots illustrating a display of thecustomized lock with key ordering options;

FIGS. 12A and 12B are screen shots illustrating display of the selectedlock with lock quantity ordering options;

FIG. 13 is a screen shot of a customized lock and key ordering page;

FIG. 14 is a screen shot of a lock body entry screen provided at theback end of the system to allow an administrator to add lock body imagesand information;

FIG. 15 is a screen shot of another administrator entry screen toassociate available keying options, shackle images and bumper imageswith a particular lock body;

FIGS. 16A to 16C are screen shots of entry screens provided to a systemadministrator for the purpose of entering key blank and keyway rangeinformation;

FIGS. 17A and 17B are screen shots of a display for allowing a user toenter a selected key number to be matched to locks which can be openedby that key;

FIGS. 18A and 18B are screen shots of a display of available locks aftera key number has been entered;

FIG. 19 is a screen shot of lock models displayed after a user hasselected a lock from the screen of FIGS. 18A and 18B;

FIGS. 20A to 20E are screen shots illustrating a display of details ofthe selected lock which allows a user to enter the number of locks to bepurchased; and

FIG. 21A to 21C are screen shots of a lock ordering page for orderinglocks selected by keyway number.

DETAILED DESCRIPTION

Certain embodiments as disclosed herein provide for customized on-lineordering of locks and the like.

After reading this description it will become apparent to one skilled inthe art how to implement the invention in various alternativeembodiments and alternative applications. However, although variousembodiments of the present invention will be described herein, it isunderstood that these embodiments are presented by way of example only,and not limitation. As such, this detailed description of variousalternative embodiments should not be construed to limit the scope orbreadth of the present invention as set forth in the appended claims.

FIGS. 1A, 1B, 2 and 5 to 13 illustrate one embodiment of a method andsystem for online ordering of padlocks or other keyed or combinationlock devices of different lock and padlock manufacturers, while FIGS. 3,4 and 14 to 19 illustrate an associated keyway matching method using thesystem of FIGS. 1A and 1B. Although the system is described andillustrated in connection with ordering customized padlocks, the samesystem may alternatively be used in other embodiments for ordering othercustomized products, such as other key or combination lockable devices(safes, jewelry boxes, cash boxes, door locks, and the like),non-lockable products such as boxes or packaging materials, promotionalproducts, and the like.

The system of FIG. 1A comprises one or more on-line portals or websites10 each associated with a website address which provides user access tothe portal or website over a public network 12 such as the Internet. Theportal 10 can be implemented as a server or computer. A similar portalmay be provided in a private network in alternative embodiments. FIG. 1Aillustrates a plurality of end user devices 14 which may connect towebsites 10 using a web browser on the user device 14, which may be apersonal computer (PC), laptop computer, mobile device, or any otherdevice capable of running web-browser software. Each website 10 islinked via a public or private network, or other means, to a back endadministrator or central controller 15, which in turn is linked to aproduct data base 16 which can be updated as needed by back endadministrator 15.

FIG. 1B is a block diagram illustrating aspects of the online orderingsystem which can be carried out by the server 10 and the user device 14of FIG. 1A. The online ordering system includes a first, second andthird user interfaces 2, 3 and 4 respectively, first, second and thirdselection modules 5, 6 and 7 respectively and a control module 8. Thefirst, second and third user interfaces 2, 3 and 4 are associated withthe user device 14. However, in some embodiments, the first, second andthird user interfaces 2, 3 and 4 may be associated with the server 10.The first, second and third user interfaces 2, 3 and 4 may be a singleuser interface and the first, second and third selection modules 5, 6and 7 may be a single selection module. The first, second and thirdselection modules 5, 6 and 7 are associated with the server 10. However,in some embodiments, the first, second and third user selection modules5, 6 and 7 may be associated with the server 10. The control module 8 isassociated with the server 10.

The first user interface 2 displays one or more lockable device categoryimages representing one or more available lockable device categories.The one or more lockable device categories include one or more lockabledevice images. The second user interface displays one or more lockabledevice images associated with the selected lockable device categoryimage. The one or more lockable device images represent one or morelockable devices. The third user interface displays multiple sets oflockable device customizing options including a first and second set oflockable device customizing options for the selected lockable deviceimage.

The first selection module 5 generates a selection option on the userdevice 14 for selecting a lockable device category image from the one ormore lockable device category images. The second selection module 6generates a selection option on the user device 14 for selecting alockable device image from the one or more lockable device images. Thethird selection module 7 generates selection options on the user device14 for selecting multiple device customizing options including a firstand second lockable device customizing options from the first and secondset of lockable device customizing options.

The control module 8 generates a first customized lockable device imageaccording to the selected first lockable device customizing option. Thefirst customized lockable device image includes at least a portion ofthe selected lockable device image and the first lockable devicecustomizing option. The control module also generates a secondcustomized lockable device image according to the selected secondlockable device customizing option, where the second customized lockabledevice image includes at least a portion of the selected lockable deviceimage and the second lockable device customizing option. In someembodiments, the second customized lockable device image includes atleast a portion of the selected lockable device image and the first andsecond lockable device customizing options.

FIG. 1C is a block diagram illustrating aspects of the online orderingsystem which can be carried out by the server 10 and the user device 14of FIG. 1A. The server 10 includes a first receiving module 9, a secondreceiving module 13, a storage device 16 such as the product databaseillustrated in FIG. 1 and a control module 8. The first and secondreceiving modules 9 and 13 may be a single receiving module.

The first receiving module 9 receives information related to one or morelockable device models and information related to one or more keyidentifiers associated with the one or more lockable device models. Thestorage device 16 stores the information related to the one or morelockable device models and the information related to the one or morekey identifiers associated with the one or more lockable device models.The lockable device models may be manufactured by multiple lockabledevice manufactures or a single lockable device manufacturer. The keyidentifier may be a combination of numbers for opening a lock, a numberassociated with a lock key or the like. Each key identifier of the oneor more key identifiers unlocks at least one lockable device associatedwith the one or more lockable device models. The second receiving module13 receives a pre-existing key identifier configured to unlock apre-existing lockable device.

The control module 8 matches the pre-existing key identifier with amatched key identifier of the one or more key identifiers stored in thestorage device 16 and associates the matched key identifier with one ormore matched lockable device models of the one or more lockable devicemodels. Images of the one or more matched lockable device models thatare configured to be unlocked by the matched key identifier aredisplayed on a user interface 2, 3 or 4 of a user device 14, forexample. A selection module 5, 6, or 7 generates a selection option onthe user device 14 for selecting at least one matched lockable devicefrom the one or more matched lockable device models. In someembodiments, server 10 may also include an ordering module for orderingthe at least one selected matched lockable device. The control module 8also generates a temporary model number for the at least one selectedmatched lockable device prior to an authentication of the order madeaccording to the ordering module. In some embodiments, authentication ofthe order comprises receiving payment for the at least one selectedmatched lockable device. Upon authentication of the order, the controlmodule 8, generates an actual model number (as illustrated in FIG. 21C)for the at least one selected matched lockable device.

The method and system of this embodiment allows users to search forspecific product categories via selected websites, and to customize aproduct as desired before ordering the customized product. In theillustrated embodiment, the product being ordered is a padlock or othertype of lock or lockable device, although other products may becustomized in a similar manner in alternative embodiments, as describedin more detail below.

In the method and system of FIGS. 1A to 2B, and 5A to 13, a useraccesses one of the websites 10 via the website address. FIGS. 5A, 6A,7A, 8A, 9A, 10A, 11A, and 12A illustrate a first embodiment of a seriesof user interface screens for carrying out the method of FIGS. 5B, 6B,6C, 7B, 8B, 9B, 10B to 10D, 11B, 11C, and 12B illustrate a modified,second embodiment in which the user interface screens are modified. Thebasic steps of both embodiments are the same, but the arrangement ofinformation on the various interface screens is modified in the secondembodiment, as described in more detail below. A first user selectionscreen is illustrated in FIG. 5A. This displays various differentcategories of an article or product to be customized, such as differenttypes of padlock images 18. The categories displayed include padlocks ofdifferent materials, styles, and sizes, and may include padlocks andlocks manufactured by different manufacturers. In alternativeembodiments, additional lock categories may be displayed in the screenof FIG. 5A, such as cable locks or other padlock types.

The home page screen of FIG. 5A may also include an icon 19 asking theuser if they wish to match an existing key number (see step 20 of FIG.2A), although this may be eliminated in alternative embodiments. Theuser can select a style or type of lock by clicking on the appropriatelock icon or image 18 on the first screen of FIG. 5A (step 22 of FIG.2A). As illustrated in FIG. 6A, the next screen illustrates thedifferent lock body types 24 available in the selected lock style orcategory (step 23 of FIG. 2A). The user can click on the button 25adjacent a selected lock body type to select a model number (step 26 ofFIG. 2A), then clicks on the “Select Lock Body” button 27 to proceed tothe next step.

Once a lock body is selected, the next screen (FIG. 7A) appears. Thisscreen displays the selected lock body as well as keying optionsavailable for the selected lock body (step 28 of FIG. 2A). If all keyingoptions are available for the selected lock body, this screen allows theuser to select a keying option between the options KD (each lock openswith a different key), KA (all locks purchased open with the same key),MK (each lock opens with a different key and may also be opened with amaster key), and KAMK (each lock opens with the same key and may also beopened with a master key), by selecting the appropriate button 29 andclicking on the “select” button 31. The illustrated example does nothave KAMK option, but this option also appears for padlocks where it isavailable. If not all options are available, the user can only selectbetween the available keying options for a selected lock body.

Once the user has selected a keying option (step 30 of FIG. 2A), ascreen appears which shows alternative shackle options for the selectedlock (see FIG. 8A, step 32 of FIG. 2A), along with information on thelock. This screen includes an image 34 of the selected lock body with astandard shackle, information on the lock ID, manufacturer and keyingoptions, and images 35 of the different shackle options attached to thelock body. A button 38 is provided under each shackle option. The userselects a desired shackle (step 40) by clicking the appropriate buttonand then clicking “Select Shackle” 42.

In the next screen (FIG. 9A), an image 44 of the lock body along withthe selected shackle appears, along with the same lock information andthe statement “Body shown with your shackle”. Beneath the image 44 andassociated information, images 45 of the different bumpers in theavailable colors for that bumper are displayed (step 46), with aselection button 48 next to each available bumper. The user selects adesired bumper (step 50) by clicking on the appropriate button 48, andthen clicks on the “select bumper” key 52.

The next screen (FIG. 10A) displays the lock 54 with the user-selectedshackle and bumper options, along with the total cost as selected so far(step 55). This screen also allows the user to select a custom bodyplate by clicking on the appropriate button 56 or 57. The “yes” button57 also indicates the cost per lock for a custom body plate. A text box58 allows the user to enter the text or trademark information desiredfor the custom body plate. Once the user selects whether a custom bodyplate is desired (step 60), and inserts the appropriate text (step 62)if the yes button is selected, they click on the “select” button 64. Thenext display screen (FIG. 11A) displays the same lock information asFIG. 10A, but includes the cost of any custom plate text ordered insteps 60 and 62. On the same display screen, the user is allowed toorder the desired number of extra keys (block 64, step 66 of FIG. 2A),and may also select whether to match to an existing key number byselecting the yes or no button 61 or 63, and entering the key number inblock 65 (step 68 of FIG. 2A) if “yes” is selected. This screen alsodisplays an image 70 of what the key for this particular lock shouldlook like. After entering the desired selections, the user clicks on the“select” button 69 to proceed to the next screen.

If the user opts to enter a key identifier such as a key number to bematched in step 68, the system first checks whether the selected lock isavailable for that key number. Different padlocks typically have certainkeyways which can be opened by specific types of keys available inspecific key number ranges. Padlock keyways can only be customized to beopened by certain types of keys, so that a user cannot order everysingle available type of padlock for their specific key number, asdiscussed in more detail below. The data base 16 in this system includesstored information on the key number ranges usable with each lock bodyavailable for customizing and purchase, as described in more detailbelow. Therefore, once a user has specified a certain lock body, thecontroller checks the list of available keyways and key number rangesagainst the entered key number and determines whether the selected lockis available (step 72). If the key number is not available for theselected lock, the user is directed to a different screen showing lockswhich can be ordered for that key number (step 74), as described belowin connection with FIG. 3A and the associated screen shot of FIG. 18A.

Once the user has selected the number of keys and whether or not a keynumber is to be matched, a new screen appears, as illustrated in FIG.12A. This again shows the customized lock 54 and the same customizedlock information, as well as the selected key number if the user hasselected matching to their existing key number. The cost for each lockbody is displayed, along with the cost for any additional keys ordered,the cost for any custom text, and the cost for a custom cylinder if theuser has requested matching to their existing key number. The user canthen enter the desired number of locks to purchase in block 75 (step 76of FIG. 2A), and clicks on “Add to Cart” 77 to proceed to checkout. Atthis point, an online checkout page appears on the screen, asillustrated in FIG. 13, where the user can view the options selected sofar and update the numbers of keys ordered as desired. A conventionalonline secure checkout procedure is then initiated, allowing the user toenter billing and shipping information (step 78) in a secure manner,after which they may log off the system or continue shopping (80).

FIG. 2B is another flow diagram illustrating an embodiment of a padlockordering method using the system of FIGS. 1A to 1C to order a customizedlock, as also illustrated in the screen shots of FIGS. 5A to 13. Atblock 82, the process starts with displaying one or more lockable devicecategory images representing one or more available lockable devicecategories. The one or more lockable device categories represent one ormore lockable device images. The process then continues to block 83where a lockable device category image from the one or more lockabledevice category images is selected. At block 84 one or more lockabledevice images associated with the selected lockable device categoryimage are displayed. The one or more lockable device images representone or more lockable devices. At block 85 a lockable device image fromthe one or more lockable device images is selected. The process thencontinues to block 86 where a first set of lockable device customizingoptions for the selected lockable device image are displayed. At block87, a first lockable device customizing option from the first set oflockable device customizing options is selected. Finally at block 88 afirst customized lockable device image is generated and displayedaccording to the selected first lockable device customizing option,wherein the first customized lockable device image include at least aportion of the selected lockable device image and the first lockabledevice customizing.

FIG. 5B illustrates a modified home page in a second embodiment of aseries of user interface screens for carrying out the method of FIGS. 2Aand 2B. This page includes various icons which can be clicked on toobtain more information about the system, as well as an icon 210 forstarting the process of building a lock, and an icon 19 similar to thatof the previous embodiment for matching an existing key number. FIG. 6Billustrates a user interface screen on which the user may select a locktype (step 82 of FIG. 2B), with images of various different lock types.Although FIG. 6B illustrates only padlocks, other types of locks mayalso be displayed on this page, as in FIG. 5A. Once the user selects alock type, the screen shot of FIG. 6C appears, in which the alternativeoptions for a first customizable option are displayed. In this case, thecustomizable option is a lock body. Unlike the previous embodiment, onlythe customizable portion 212 of the lock body is shown (in this casedifferent body designs). A summary list 214 of the various customizableoptions is provided on the right hand side of the screen. This list isongoing on each successive screen and lists the details of any optionsselected by the user so far in the process, so that the user can easilykeep track of their selections. At this point, no customizing optionshave been selected.

Once the user selects a lock body by clicking on the associatedselection icon 215, the next screen of FIG. 7B appears. This is similarto FIG. 7A and allows the user to select a keying option. FIG. 7B alsodisplays the updated summary list 214 indicating the selected lock bodyas well as an image 216 of the lock portion selected so far, unlike FIG.7A where an entire lock is displayed. Once the keying option isselected, the next screen of FIG. 8B is displayed, in which differentshackles 218 are displayed. This is similar to the screen of FIG. 8Aexcept that only the shackle image is shown, not an entire lock, and thesummary block or list 214 on the right hand side displays the portion ofthe lock selected so far as well as details of the options selected sofar (lock body and keying option). Once a shackle is selected, thescreen of FIG. 9B appears. This is similar to FIG. 9A, and allows a userto select another customizable option, specifically a bumper color. Aseries of images 45 of the different bumper colors appears, as in FIG.9A. The summary list 214 on the right hand side now includes an image218 of the selected lock body with the previously selected shackleattached, and the details are updated to indicate all options which arealready selected (lock body, keying option, and shackle).

The user then selects a bumper 45 of the desired color, and the screenshot or user interface of FIG. 10B appears. This is similar to FIG. 10Aand allows the user to select custom marking. The lock summary or list214 on the right hand side now includes the selected bumper in the lockimage 220, as well as the bumper color in the listed details. If theuser selects no custom marking, the next screen shot or interface isthat of FIG. 11B. If the user clicks on the Yes button to select custommarking, a box 214 appears to allow entry of the desired text, asillustrated in FIG. 10C. The user can also select a stamping option onthis page, such as hard stamping 224. Although only one stamping optionis shown in FIG. 10C, in practice various different options are providedin this area of the screen. If the user clicks on the hard stamping text224, an image or box 225 appears which shows the appearance of thebottom face of the lock with indicia applied by hard stamping, asillustrated in FIG. 10D. The user can click on the text describing othertypes of stamping options, with examples of the types of stampingappearing in box 225 when the user clicks on the respective options. Theuser clicks on the selection key 226 next to their selected stampingoption once they have decided which stamping type they want. Once astamping option has been selected, the screen of FIG. 11B appears. Inthis screen, the user can decide whether to match an existing keyingsystem, by selecting the No or Yes options on this page. The user alsoselects a number of extra keys, if desired. This is similar to thescreen shot of FIG. 11A except that no key is displayed and theorganization of information on the page is different. If the userselects the No button on FIG. 11A, the next screen of FIG. 12B appears.If the user selects the Yes button, illustrated in FIG. 11B, a box 65appears for the user to enter a key number, as illustrated in FIG. 11C.In each of the screens of FIGS. 11A and 11B, the summary or list 214includes all lock selections so far, including any custom text. If theuser opts to match an existing key, the system proceeds as describedabove in connection with selection of that option in FIG. 11A. If theuser opts not to match an existing key, the screen of FIG. 12B appearswhich allows a user to review their selections and decide whether toproceed to the payment process starting with the screen of FIG. 13. Asin FIG. 12A, the screen of FIG. 12B illustrates the finished lock alongwith all options selected, and displays the cost for individual selecteditems and the total cost for all selections.

In order to set up the system and method of FIGS. 1, 2 and 5 to 13, thesystem administrator at the back end 15 first enters details of eachproduct or item available for purchase into the product database, alongwith all characteristics of the item which may be customized. In orderto allow customers to customize or build a padlock, images of eachavailable padlock are entered, along with images of the customizableoptions, such as the different shackles, the different bumper colors,and so on. For each lock body, the data base includes images of astandard lock body 100 with an exemplary shackle and bumper, images ofeach available bumper and images of a central part 101 and lower part102 of the lock body, as illustrated in FIG. 14. The data base alsoincludes images of each shackle which is available for the stored lockbody, and each available bumper (see FIG. 15). The images are combinedtogether as appropriate based on customer selections. Thus, if thecustomer selects the longer shackle in the screen of FIG. 8A or 8B, thesystem accesses the data base 16 to locate the image of the longershackle, attaches this shackle to the upper end of the selected lockbody 102, and inserts this image 44 at the appropriate location in thenext screen (FIG. 9A or 9B). When the customer selects a particularbumper color, the system again accesses the data base to locate theimage of the selected color bumper, and inserts this image on the bottomof image 101 together with the selected shackle at the top to displaythe combined image 54 with both the customer selected shackle and thecustomer selected bumper in the next screen (FIG. 10A or 10B).

When entering information on a particular lock body, the operator oradministrator also enters the keying options for that lock (see FIG.15), and other information about the lock as indicated in FIG. 14, suchas a selected written description of the lock manufacturer name, keyblank, group number, and prices for the lock body and each availablecustomized option, e.g. shackle, bumper, extra keys, custom bottomplate, custom cylinder to match key number, and the like. Any of theseprices can be updated by the administrator at any time.

In the foregoing embodiment, the system is set up for allowing a user tocustomize padlocks ordered on line. In alternative embodiments, asimilar system and method may allow users to order other customizeditems in a similar manner. For example, in a system for orderingcustomized boxes or packaging, the data base may store information andimages of the following variables which the user can customize:

1. Box sizes

2. Color

3. Material

4. Option to upload logos or company information to be printed on thebox

5. Quantities to be ordered

6. Single walled, double walled, triple walled options

7. Option to order tape with matching company logo.

In this system, the first screen may display different available boxdesigns so the user can easily select a desired box design (e.g. shape,lid design, and the like). Subsequent screens may display differentsizes, different colors, and so on for the selected box design. The database includes images of the different options which can be combined anddisplayed to the user on screens depending on the user's selections.

In another embodiment, promotional items may be customized and orderedby users on line. In a first screen, images of the different promotionalitems available for order may be displayed. The user is then directed toscreens allowing various options to be customized, depending on thepromotional item selected, such as color, imprintable area forcustomized text, logos or images to be added on the item, quantities,and packaging styles.

The foregoing embodiments concern customizing of products orderedon-line, along with an associated data base which organizes theavailable products in a manner which makes it relatively easy for usersto view customized options on a step-by-step basis, as well as to viewthe final customized product prior to ordering the desired number ofcustomized products. FIGS. 1A to 1C, 2A, 3A, 3B, 4, and 16 to 21illustrate an embodiment of a method and system for keyway matching inwhich a user can order additional locks of one or more different bodytypes to match their existing keys. This is convenient since it allows abusiness owner, consumer, or other user to have multiple locks which canbe opened by the same key, rather than having to keep multiple keys fordifferent locked devices. This method and system is associated with themethod and system of FIGS. 1, 2 and 5 to 13, and there is some overlapbetween the two embodiments, as seen in FIGS. 1 to 4 and described inmore detail below.

As has been noted above, padlocks and the like have cylinders pinned tomatch specific key numbers. The cylinder size restricts the key numbersthat can be used with specific padlocks. Key number ranges correspond todifferent types of key blank, and each padlock or other lock can be usedonly with certain key number ranges. For example, a padlock body No. 1,No. 2 or No. 475 made by Master Lock can be used with key numbers in theranges 2001-2997 and X2000-X2998. Other lock and padlock manufacturershave other standard key numbers or ranges which can be matched by thekeyway matching process described herein. In order to enable keymatching, the information stored in the product data base 16 of FIG. 1Aincludes all different types of key blank along with an image of the keyblank, the keyway or key number ranges for that key blank and a list ofthe lock models which can be opened with that key blank. Each lock modelstored in data base 16 is then linked to each of the key blanks whichcan be used with the lock model. FIGS. 16A and 16B illustrate the stepsof adding a new keyway to data base 16.

As illustrated in FIG. 16A, the information entered and stored for anexemplary key blank, such as the 15K key blank illustrated in FIG. 16A,includes an image 82 of the key blank (which is used in the screendisplay of FIG. 11 of the previous embodiment), the keyway name andmanufacturer, the key type (such as master or the like), and the keyblank model number, in this case 15K. All available lock models whichcan be opened by a key using that key blank can be entered by theadministrator in box 84 of FIG. 16A, and an image 85 of each enteredlock model is associated with the information stored for that key blank.In the database, there are four fields to enter a keyway rangeassociated with a key blank and certain lock models. These fields areillustrated in FIG. 16B, and comprise two numeric fields 86 and twonon-numeric fields 88. FIG. 16B illustrates the step of entering thekeyway ranges for the particular key blank in boxes 86 for numerickeyway ranges and boxes 88 for non-numeric ranges. In this case, thekeyway range includes a non numeric digit and is 20N001 to 25N616, butother key blanks are associated with numeric ranges. If the keyway rangeis numeric, the administrator enters the start and end of the range infields 86, and enters zeros in the fields 88. If the keyway range isnon-numeric, the administrator enters the start and end of the range infields 88 and enters zeros in fields 86.

FIG. 16C illustrates a step in adding the keyway range to informationstored in the data base for each lock model. The illustrated example isfor No. 5 Padlocks, and the administrator display includes an image 90of the lock body of a No. 5 Padlock. The administrator enters the keyblank (in this case 1K), and this associates the lock body with theentered keyway ranges for key blank 1K. If a lock body can be opened byvarious different key blanks, each key blank for the lock body isentered and the stored lock body is linked to the stored keyway ranges.

FIG. 3A is a basic flow diagram of the steps involved in matching a keynumber to specific lock body models which can be opened by the key, withFIG. 4 illustrating the keyway matching method in more detail. Thewebsite may display an icon 19 on the home page of FIG. 5A or 5B toallow a user to match an existing key number to a lock body directly,rather than going through the steps of customizing a lock as in FIG. 2A.Additionally, or alternatively, the keyway matching procedure may beinitiated by a user who is customizing a lock at step 68 of FIG. 2A,where the user may choose to enter an existing key number in block 65 ofFIG. 11A or 11C, rather than letting the system select a new key numberfrom the range available for the customized lock body.

Regardless of whether the user chooses to match a key number to a lockbody initially from the home page or screen of FIG. 5A or 5B, or entersthe key number during lock customization, the first step 92 in themethod comprises entry of the key number on the key in a box providedfor that purpose. Clicking on icon 19 of FIG. 5A or 5B produces thescreen display of FIG. 17A or 17B with box 94 to enter the key number.The user then hits the “Go” key 95 on the screen, which starts the keymatching routine of step 96, described in more detail below inconnection with FIG. 4. After the keyway range containing the enteredkey number is found, images 98 of all of the types or models of lockwhich can have cylinders pinned to provide a keyway matching the enteredkeyway number are displayed on the screen, under an image 99 of the keyalong with the entered keyway number 150, as illustrated in FIG. 18A or18B (step 104 of FIG. 3A). This display screen is also generated if auser enters a keyway number at step 69 of FIG. 2A, as indicated in FIG.3A.

As illustrated in FIG. 18A, a button 104 entitled “Click Here toCustomize This Lock” is positioned next to any lock 98 on the screenwhich can be customized, and the user clicks on button 104 if they wantto customize the lock. There is no button 104 adjacent any lock whichcannot be customized, such as the No. 475 Hasplock of FIG. 18A. In theembodiment of FIG. 18A, a button entitled “Show Models” 152 is alsopositioned alongside each displayed lock, regardless of whether it canbe customized. The user selects one of the buttons 152 next to any lockif they want to pick a lock which cannot be customized or are contentwith an off-the-shelf lock without customizing the lock. This results ina screen showing all standard off-the-shelf alternatives 154 for thatlock, as illustrated in FIG. 19. The user is instructed to click on thelocks in order to display more information or order the lock. If theuser decides that they do not want to select one of the lock modelsdisplayed in step 106, they can click on “Back to Search” 108 in orderto return to the previous screen of FIG. 18A. In the alternative of FIG.18B, all the lock models 98 for a particular key are displayed for userselection on the first lock model selection screen.

Any displayed lock body in FIG. 18A or 18B, which has custom options,may have a “customize this lock” link 104 adjacent its image, whichlinks to the screen of FIG. 7A or 7B of the previous embodiment andallows the same customizing steps as illustrated in FIG. 2A. Assumingcustomer options are not available or the user chooses not to customizethe lock, the user clicks on a selected model (step 110) in FIG. 18B or19 in order to proceed to the next screen of FIG. 20A or 20B. In eithercase, an enlarged image of that lock body appears, along with thumbnailviews of the lock from different directions, dimensional information,and the like (step 115 of FIG. 3A). The user has the option of returningto the previous display of different model numbers by clicking on area116, or ordering a desired number of the displayed lock body at box 117(step 118 of FIG. 3A). In the embodiment of FIG. 20A, comments orinstructions may be entered in box 119 on this screen prior to clickingon “Add to Cart” box 120. Prices also appear on the screen of FIGS. 20Aand 20B. The next screens of FIGS. 20C to 21C are conventional billingand shipping selection screens on which the user can enter billing andshipping information. During secure checkout, the user enters billingand shipping information (step 122 of FIG. 3A), and can choose to exitthe system (124), or may return to shopping. In the embodiment of FIGS.21B and 21C, an actual model number 230 for the selected lock is onlydisplayed when the user has paid for their order, as illustrated in FIG.21C. Prior to this step, the key models are associated with temporary orincomplete model numbers 232 (FIG. 21B) which cannot be used to orderthe locks directly from the manufacturer.

FIG. 3B is a flow diagram illustrating steps of an embodiment of akeyway matching method for ordering locks which can be opened by aparticular key number, as also illustrated in the screen shots of FIGS.15 to 19. At block 142, the process starts with receiving informationrelated to one or more lockable device models and information related toone or more key identifiers such as key numbers associated with the oneor more lockable device models. Each key identifier of the one or morekey identifiers is configured to unlock at least one lockable deviceassociated with the one or more lockable device models. At block 143,the information related to one or more lockable device models and theinformation related to one or more key identifiers associated with theone or more lockable device models are stored in the storage device 16.The process then continues to block 144 where a pre-existing keyidentifier configured to unlock a pre-existing lockable device isreceived. At block 145, the pre-existing key identifier is matched witha matched key identifier of the one or more key identifiers stored inthe storage device. Finally at block 146, the matched key identifier isassociated with one or more matched lockable device models of the one ormore lockable device models.

In one embodiment, the product data base has information stored on allavailable locks and padlock and the associated key identifiers such askey numbers, and the keyway matching procedure comprises searching thedata base for associated locks and padlocks based on an entered keyidentifier. An alternative embodiment of the keyway matching procedure96 of FIG. 3A is illustrated in more detail in FIG. 4. The first step inthis procedure comprises determining whether or not the entered keynumber, key identifier or keyway contains an alpha character (step 125),i.e. whether each character of the key number is numeric, as follows:

-   -   If Numeric(key_num)=True, then if this=true, we search the        numeric versions of the beginning and ending keyway numbers in        fields 86 (see FIG. 14B) for any range containing the entered        keyway number (step 126), using the following step:    -   SQL=“SELECT*FROM keyways where ‘“&key_num&”’ between        (keyway_begin−1) and (keyway_end+1)”

If a match is found (step 128), the system determines whether the keywayor key identifier is flagged as a master key (step 130). If not, alllock models opened by the keyway are displayed in step 104 (equivalentto step 104 of FIG. 2A). If the keyway is flagged as a master key, alllock styles containing “MK” in the model number which are opened by thekeyway are displayed (step 104A). If there is no match found to theentered keyway, an output screen indicates that no match was found andrequests re-entry of the keyway number in step 132, in case the usermade an error in the initial keyway entry. The system then returns tostep 125. If a keyway match is still not found, other action may betaken such as asking the user to call a service number.

At step 125, if Numeric(key_num)=False, the entered keyway numbercontains an alpha character, and the entered keyway is checked todetermine the location of the alpha or non-numeric character (step 134).Some keyways contain the same alpha character but rarely in the samelocation. A first step in determining the alpha character location is todetermine the length in characters of what was entered by the user, i.e.the number of digits entered, as follows:

-   -   LenX=len(key_num)        This returns a number equal to the length of the keyway in        characters. Then the system loops through the string one        character at a time, testing each character starting with the        first character to see if it is an alpha (there can only be one        alpha in any keyway). When the character is located, its        position in the string of characters is noted, e.g., Alpha        character location=nth character in string (step 135).

The next step is to search stored non-numeric keyway ranges to locateall stored ranges where the alpha character is the nth character in thestring (step 136). If it is the first character—then the beginningnumber of every non-numeric range is searched for any keyway that hasthat character as the first character, as follows:

-   -   SQL=“SELECT*FROM keyways where left(keyway_begin1,1)=“‘&test&”’”    -   Where test=the alpha character found.

Once all keyway ranges are found which have the character as the nthcharacter in the string, the numeric characters or sections of eachlocated range which occur after the nth character are searched (step138) to locate any section range which contains the entered portion ofthe keyway after the nth character of the entered keyway. In otherwords, where the first character of the keyway is the alpha character,the alpha character is stripped from the beginning and end of the storedrange and from the keyway entered by the user. This leaves threenumbers. For example, if the entered keyway is X2099, the matchingkeyway range is X2000=X2998, and the stripping process would leave thefollowing three numbers:

-   -   Start of range=2000; End of range=2998; Entered keyway=2099.

This allows a check to be made in order to determine whether the numbersection of what the user entered falls between number section of thebegin and end of the keyway range, as follows:

Loop through the range pass_test=0 do while begin_range < end_range ifbegin_range = cdbl(key_num_entered) then pass_test=15 end if Loop

-   -   This tests the numeric section of the entered key number        (e.g. 2099) against every number between 2000 and 2998.    -   If there is a match “pass_test=15” otherwise “pass_test=0”    -   If it=15 then all the lock series that can be opened by that        keyway are displayed with a link for each to display all the        models of that series. Otherwise if it=0 it displays a warning        that it is not a match to the keyway as the alpha and numeric        portions don't both match and gives the user another chance to        search for a keyway, assuming they didn't type the keyway        exactly as it is printed on the key they are trying to match.        This process can be repeated for all keyway ranges starting with        the letter “X”. The same basic loop above is used for testing an        entered numeric keyway against all numbers in a stored numeric        keyway range (step 126).

If a match is found (step 140), the system proceeds to step 130 todetermine whether the keyway is flagged as a master key (this is part ofthe information stored in the keyways section of the data base),proceeding to either step 104 or step 104A. If no match is found at step140, the system proceeds to step 132.

If the alpha character is not the first character, the programming forksto a different section that works just like the first character sectionbut tests the numeric section after the alpha character, e.g. fromposition 3 or 4 onwards, and compares it to the same part of what theuser entered.

Although the keyway matching method and system is described above formatching keys to padlocks, it may also be used for matching keys toother types of locks, such as door locks, lock boxes, safes, and thelike.

In the past, it was not possible for customers to purchase customizedpadlocks online. Even distributors could not build a lock unless theyalready knew the model number and key number. The above embodiment forcustomizing a lock displays images of different lock categories so thata user can easily select a desired lock category, such as shrouded,laminated, solid brass, high security, brass laminated, and the like,and then goes on to display images of different lock bodies available inthe selected category. Once the user has selected a lock body, they areallowed to customize aspects of the body such as type of shackle andbumper color, and can select a customized body plate with text whichthey enter. The same website may display locks of only one manufacturer,or locks of different manufacturers, allowing selection from a largebody of different locks. A similar system may be used to allow customersto select and customize different types of products without having to gothrough many screens in order to locate the product they want. Instead,a single page or screen already displays images of products in the samegeneral category for the customer to click on.

The back end control system or administrator system can be easilyupdated to add different products to the data base. This system may belinked to different websites and may provide all of the storedinformation to each website, or selected portions to different websites.Prices can be readily updated, and the data base may include storedprices which are different for different web sites 10.

Those of skill in the art will appreciate that the various illustrativelogical blocks, modules, circuits, and method steps described inconnection with the above described figures and the embodimentsdisclosed herein can often be implemented as electronic hardware,computer software, or combinations of both. To clearly illustrate thisinterchangeability of hardware and software, various illustrativecomponents, blocks, modules, circuits, and steps have been describedabove generally in terms of their functionality. Whether suchfunctionality is implemented as hardware or software depends upon theparticular application and design constraints imposed on the overallsystem. Skilled persons can implement the described functionality invarying ways for each particular application, but such implementationdecisions should not be interpreted as causing a departure from thescope of the invention. In addition, the grouping of functions within amodule, block, circuit or step is for ease of description. Specificfunctions or steps can be moved from one module, block or circuit toanother without departing from the invention.

Moreover, the various illustrative logical blocks, modules, and methodsdescribed in connection with the embodiments disclosed herein can beimplemented or performed with a general purpose processor, a digitalsignal processor (“DSP”), an ASIC, FPGA or other programmable logicdevice, discrete gate or transistor logic, discrete hardware components,or any combination thereof designed to perform the functions describedherein. A general-purpose processor can be a microprocessor, but in thealternative, the processor can be any processor, controller,microcontroller, or state machine and the processing can be performed ona single piece of hardware or distributed across multiple servers orrunning on multiple computers that are housed in a local area ordispersed across different geographic locations. A processor can also beimplemented as a combination of computing devices, for example, acombination of a DSP and a microprocessor, a plurality ofmicroprocessors, one or more microprocessors in conjunction with a DSPcore, or any other such configuration.

Additionally, the steps of a method or algorithm described in connectionwith the embodiments disclosed herein can be embodied directly inhardware, in a software module executed by a processor, or in acombination of the two. A software module can reside in RAM memory,flash memory, ROM memory, EPROM memory, EEPROM memory, registers, harddisk, a removable disk, a CD-ROM, or any other form of storage mediumincluding a network storage medium. An exemplary storage medium can becoupled to the processor such the processor can read information from,and write information to, the storage medium. In the alternative, thestorage medium can be integral to the processor. The processor and thestorage medium can also reside in an ASIC.

The above description of the disclosed embodiments is provided to enableany person skilled in the art to make or use the invention. Variousmodifications to these embodiments will be readily apparent to thoseskilled in the art, and the generic principles described herein can beapplied to other embodiments without departing from the spirit or scopeof the invention. Thus, it is to be understood that the description anddrawings presented herein are representative of the subject matter whichis broadly contemplated by the present invention. It is furtherunderstood that the scope of the present invention is not intended to belimited to the embodiments shown herein but encompasses embodiments thatmay become obvious to those skilled in the art and that the scope of thepresent invention is accordingly limited by nothing other than theappended claims.

What is claimed is:
 1. A method comprising using at least one hardwareprocessor to: generate a screen comprising a plurality of selectablerepresentations of lock models; and, in response to a user selection ofone of the plurality of representations of lock models, determine aplurality of customizable options associated with the selected lockmodel, and, for each of the plurality of customizable options, generatea screen comprising a plurality of selectable representations ofavailable choices for the customizable option, and, in response to auser selection of one of the plurality of representations of availablechoices for the customizable option, update the screen to include animage of the selected lock model that comprises a graphicalrepresentation of the selected available choice for the customizableoption and any previously selected available choices for other ones ofthe plurality of customizable options.
 2. The method of claim 1, whereinupdating the screen to include the image of the selected lock modelcomprises: generating the image of the selected lock model by combininga base image of the selected lock model with an image of each selectedavailable choice; and update the screen to include the generated imageof the selected lock model in place of a previous image of the selectedlock model.
 3. The method of claim 1, wherein the plurality ofcustomizable options comprise a shackle material.
 4. The method of claim1, wherein the plurality of customizable options comprise a shacklelength.
 5. The method of claim 1, wherein the plurality of customizableoptions comprise a body size.
 6. The method of claim 1, wherein theplurality of customizable options comprise a color.
 7. The method ofclaim 1, wherein the plurality of customizable options comprise a bodymaterial of the selected lock model.
 8. The method of claim 1, whereinthe plurality of customizable options comprise a keying option.
 9. Themethod of claim 8, wherein the available choices for the keying optioncomprise a keyed-differently choice, which specifies that each unit ofthe selected lock model should be openable using a different key thanany other unit of the selected lock model, and a keyed-alike choice,which specifies that all units of the selected lock model should beopenable using a same key.
 10. The method of claim 9, wherein theavailable choices for the keying option further comprise akeyed-different-master-key choice, which specifies that each unit of theselected lock model should be openable using a different key than anyother unit of the selected lock model and that all units of the selectedlock model should be openable using a same master key.
 11. The method ofclaim 9, wherein the available choices for the keying option furthercomprise a keyed-alike-master-key choice, which specifies that each unitof the selected lock model may be organized into a plurality of groups,such that each unit within a group is openable using a shared keyassigned only to that group, and all units of the selected lock modelacross all groups are openable using a single shared master key.
 12. Themethod of claim 1, further comprising using the at least one hardwareprocessor to: generate a screen comprising one or more inputs forspecifying a custom marking for an imprintable area of the selected lockmodel; and, in response to a user specification of a custom marking,updating that screen to include an image of the selected lock model thatcomprises the custom marking within the imprintable area.
 13. The methodof claim 12, wherein the custom marking comprises text.
 14. The methodof claim 12, wherein the custom marking comprises a user-specifiedimage.
 15. The method of claim 12, wherein the screen comprising one ormore inputs for specifying the custom marking for the imprintable areaof the selected lock model further comprises an image of a surface ofthe selected lock model that comprises the imprintable area.
 16. Themethod of claim 1, further comprising using the at least one hardwareprocessor to: generate a screen comprising one or more inputs forspecifying a key identifier; and, in response to a user specification ofa key identifier, determine whether or not the selected lock model canbe opened by a key that has been configured according to the specifiedkey identifier, and, when the selected model is determined to beopenable by a key that has been configured according to the specifiedkey identifier, associating the key identifier with a representation ofthe selected lock model within a user order.
 17. The method of claim 16,further comprising using the at least one hardware processor to, whenthe selected model is not determined to be openable by a key that hasbeen configured according to the specified key identifier, generating ascreen comprising one or more selectable representations of lock modelsthat can be opened by a key that has been configured according to thespecified key identifier.
 18. The method of claim 1, further comprisingusing the at least one hardware processor to generate an order screencomprising one or more inputs for purchasing one or more units of theselected lock model that have been customized according to the selectedavailable choices for each of the plurality of customizable options. 19.The method of claim 18, further comprising using the at least onehardware processor to generate an order for the one or more units of theselected lock model, based on one or more user operations received viathe one or more inputs of the order screen.
 20. A system comprising: atleast one hardware processor; and one or more software modules that,when executed by the at least one hardware processor, generate a screencomprising a plurality of selectable representations of lock models,and, in response to a user selection of one of the plurality ofrepresentations of lock models, determine a plurality of customizableoptions associated with the selected lock model, and, for each of theplurality of customizable options, generate a screen comprising aplurality of selectable representations of available choices for thecustomizable option, and, in response to a user selection of one of theplurality of representations of available choices for the customizableoption, update the screen to include an image of the selected lock modelthat comprises a graphical representation of the selected availablechoice for the customizable option and any previously selected availablechoices for other ones of the plurality of customizable options.
 21. Anon-transitory computer-readable medium that stores computer-executableinstructions that, when executed by a processor, causes the processorto: generate a screen comprising a plurality of selectablerepresentations of lock models; and, in response to a user selection ofone of the plurality of representations of lock models, determine aplurality of customizable options associated with the selected lockmodel, and, for each of the plurality of customizable options, generatea screen comprising a plurality of selectable representations ofavailable choices for the customizable option, and, in response to auser selection of one of the plurality of representations of availablechoices for the customizable option, update the screen to include animage of the selected lock model that comprises a graphicalrepresentation of the selected available choice for the customizableoption and any previously selected available choices for other ones ofthe plurality of customizable options.